package com.business.exam.service;

import com.business.exam.domain.ExamQbKnownledgeLabel;
import com.business.exam.domain.ExamQbKnownledgeLabelTreeSelect;

import java.util.List;

/**
 * 知识点标签Service接口
 *
 * @author zhanglele
 * @date 2023-11-17
 */
public interface IExamQbKnownledgeLabelService
{

    /**
     * 查询题库分类
     *
     * @param labelId 知识点标签住建
     * @return 题库分类
     */
    public ExamQbKnownledgeLabel selectExamQbKnownledgeLabelByLabelId(Long labelId);
    public List<ExamQbKnownledgeLabelTreeSelect> selectKnownledgeLabelTreeList(ExamQbKnownledgeLabel examQbKnownledgeLabel);
    public List<ExamQbKnownledgeLabel> buildQbKnownledgeLabelTree(List<ExamQbKnownledgeLabel> examQbKnownledgeLabels);
    public List<ExamQbKnownledgeLabelTreeSelect> buildQbKnownledgeLabelTreeSelect(List<ExamQbKnownledgeLabel> examQbKnownledgeLabels);



    /**
     * 查询知识点标签列表
     *
     * @param examQbKnownledgeLabel 知识点标签
     * @return 知识点标签集合
     */
    public List<ExamQbKnownledgeLabel> selectExamQbKnownledgeLabelList(ExamQbKnownledgeLabel examQbKnownledgeLabel);

    /**
     * 新增知识点标签
     *
     * @param examQbKnownledgeLabel 知识点标签
     * @return 结果
     */
    public int insertExamQbKnownledgeLabel(ExamQbKnownledgeLabel examQbKnownledgeLabel);

    /**
     * 修改知识点标签
     *
     * @param examQbKnownledgeLabel 知识点标签
     * @return 结果
     */
    public int updateExamQbKnownledgeLabel(ExamQbKnownledgeLabel examQbKnownledgeLabel);

    /**
     * 批量删除知识点标签
     *
     * @param labelIds 需要删除的知识点标签主键集合
     * @return 结果
     */
    public int deleteExamQbKnownledgeLabelByLabelIds(Long[] labelIds);

    /**
     * 删除知识点标签信息
     *
     * @param labelId 知识点标签主键
     * @return 结果
     */
    public int deleteExamQbKnownledgeLabelByLabelId(Long labelId);
}
